package bavaria.hightech.banking;

import bavaria.hightech.booking.Sortmethod;
import bavaria.hightech.exception.MoneyLauderingException;
import bavaria.hightech.exception.NoMoneyEcxeption;
import bavaria.hightech.money.Currency;

public interface CustomersPointOfView {

	public void createAccount(String accountTyp, String accountOwner, Currency curr, int conditions);
	public double getAccountBalance(int accountNumber);
	public void deposit(int accountNumber, double amount, Currency curr) throws MoneyLauderingException;
	public void withdraw(int accountNumber, double amount, Currency curr) throws NoMoneyEcxeption;
	public void transfer(int accountNumber, double amount, Currency curr, String reference, int accountNumberBeneficiary) throws NoMoneyEcxeption, MoneyLauderingException;
	public void getConditions(int accountNumber);
	public void startSimaulation();
	public void accountList();
	public void statement(int accountNumber, Sortmethod sort );
}
